/*===
0 OK {"0":1,"1":2,"2":3}
1 OK {"0":1,"1":2,"2":3}
2 TypeError {"0":1,"1":2,"2":3}
3 OK {"0":1,"1":2,"2":3}
4 OK {"0":1,"1":2,"2":3}
5 TypeError {"0":1,"1":2,"2":3}
6 TypeError {"0":1,"1":2,"2":3}
7 TypeError {"0":1,"1":2,"2":3}
8 TypeError {"0":1,"1":2,"2":3}
9 OK {"0":1,"1":2,"2":3}
10 OK {"0":1,"1":2,"2":3}
11 TypeError {"0":1,"1":2,"2":3}
12 OK {"0":1,"1":2,"2":3}
13 OK {"0":1,"1":2,"2":3}
14 TypeError {"0":1,"1":2,"2":3}
15 TypeError {"0":1,"1":2,"2":3}
16 TypeError {"0":1,"1":2,"2":3}
17 TypeError {"0":1,"1":2,"2":3}
18 TypeError {"0":1,"1":2,"2":3}
19 TypeError {"0":1,"1":2,"2":3}
20 TypeError {"0":1,"1":2,"2":3}
21 TypeError {"0":1,"1":2,"2":3}
22 TypeError {"0":1,"1":2,"2":3}
23 TypeError {"0":1,"1":2,"2":3}
24 TypeError {"0":1,"1":2,"2":3}
25 TypeError {"0":1,"1":2,"2":3}
26 TypeError {"0":1,"1":2,"2":3}
27 OK {"0":10,"1":2,"2":3}
28 OK {"0":10,"1":2,"2":3}
29 TypeError {"0":1,"1":2,"2":3}
30 OK {"0":10,"1":2,"2":3}
31 OK {"0":10,"1":2,"2":3}
32 TypeError {"0":1,"1":2,"2":3}
33 TypeError {"0":1,"1":2,"2":3}
34 TypeError {"0":1,"1":2,"2":3}
35 TypeError {"0":1,"1":2,"2":3}
36 OK {"0":10,"1":2,"2":3}
37 OK {"0":10,"1":2,"2":3}
38 TypeError {"0":1,"1":2,"2":3}
39 OK {"0":10,"1":2,"2":3}
40 OK {"0":10,"1":2,"2":3}
41 TypeError {"0":1,"1":2,"2":3}
42 TypeError {"0":1,"1":2,"2":3}
43 TypeError {"0":1,"1":2,"2":3}
44 TypeError {"0":1,"1":2,"2":3}
45 TypeError {"0":1,"1":2,"2":3}
46 TypeError {"0":1,"1":2,"2":3}
47 TypeError {"0":1,"1":2,"2":3}
48 TypeError {"0":1,"1":2,"2":3}
49 TypeError {"0":1,"1":2,"2":3}
50 TypeError {"0":1,"1":2,"2":3}
51 TypeError {"0":1,"1":2,"2":3}
52 TypeError {"0":1,"1":2,"2":3}
53 TypeError {"0":1,"1":2,"2":3}
54 OK {"0":232,"1":2,"2":3}
55 OK {"0":232,"1":2,"2":3}
56 TypeError {"0":1,"1":2,"2":3}
57 OK {"0":232,"1":2,"2":3}
58 OK {"0":232,"1":2,"2":3}
59 TypeError {"0":1,"1":2,"2":3}
60 TypeError {"0":1,"1":2,"2":3}
61 TypeError {"0":1,"1":2,"2":3}
62 TypeError {"0":1,"1":2,"2":3}
63 OK {"0":232,"1":2,"2":3}
64 OK {"0":232,"1":2,"2":3}
65 TypeError {"0":1,"1":2,"2":3}
66 OK {"0":232,"1":2,"2":3}
67 OK {"0":232,"1":2,"2":3}
68 TypeError {"0":1,"1":2,"2":3}
69 TypeError {"0":1,"1":2,"2":3}
70 TypeError {"0":1,"1":2,"2":3}
71 TypeError {"0":1,"1":2,"2":3}
72 TypeError {"0":1,"1":2,"2":3}
73 TypeError {"0":1,"1":2,"2":3}
74 TypeError {"0":1,"1":2,"2":3}
75 TypeError {"0":1,"1":2,"2":3}
76 TypeError {"0":1,"1":2,"2":3}
77 TypeError {"0":1,"1":2,"2":3}
78 TypeError {"0":1,"1":2,"2":3}
79 TypeError {"0":1,"1":2,"2":3}
80 TypeError {"0":1,"1":2,"2":3}
81 OK {"0":246,"1":2,"2":3}
82 OK {"0":246,"1":2,"2":3}
83 TypeError {"0":1,"1":2,"2":3}
84 OK {"0":246,"1":2,"2":3}
85 OK {"0":246,"1":2,"2":3}
86 TypeError {"0":1,"1":2,"2":3}
87 TypeError {"0":1,"1":2,"2":3}
88 TypeError {"0":1,"1":2,"2":3}
89 TypeError {"0":1,"1":2,"2":3}
90 OK {"0":246,"1":2,"2":3}
91 OK {"0":246,"1":2,"2":3}
92 TypeError {"0":1,"1":2,"2":3}
93 OK {"0":246,"1":2,"2":3}
94 OK {"0":246,"1":2,"2":3}
95 TypeError {"0":1,"1":2,"2":3}
96 TypeError {"0":1,"1":2,"2":3}
97 TypeError {"0":1,"1":2,"2":3}
98 TypeError {"0":1,"1":2,"2":3}
99 TypeError {"0":1,"1":2,"2":3}
100 TypeError {"0":1,"1":2,"2":3}
101 TypeError {"0":1,"1":2,"2":3}
102 TypeError {"0":1,"1":2,"2":3}
103 TypeError {"0":1,"1":2,"2":3}
104 TypeError {"0":1,"1":2,"2":3}
105 TypeError {"0":1,"1":2,"2":3}
106 TypeError {"0":1,"1":2,"2":3}
107 TypeError {"0":1,"1":2,"2":3}
108 OK {"0":1,"1":2,"2":3}
109 OK {"0":1,"1":2,"2":3}
110 TypeError {"0":1,"1":2,"2":3}
111 OK {"0":1,"1":2,"2":3}
112 OK {"0":1,"1":2,"2":3}
113 TypeError {"0":1,"1":2,"2":3}
114 TypeError {"0":1,"1":2,"2":3}
115 TypeError {"0":1,"1":2,"2":3}
116 TypeError {"0":1,"1":2,"2":3}
117 OK {"0":1,"1":2,"2":3}
118 OK {"0":1,"1":2,"2":3}
119 TypeError {"0":1,"1":2,"2":3}
120 OK {"0":1,"1":2,"2":3}
121 OK {"0":1,"1":2,"2":3}
122 TypeError {"0":1,"1":2,"2":3}
123 TypeError {"0":1,"1":2,"2":3}
124 TypeError {"0":1,"1":2,"2":3}
125 TypeError {"0":1,"1":2,"2":3}
126 TypeError {"0":1,"1":2,"2":3}
127 TypeError {"0":1,"1":2,"2":3}
128 TypeError {"0":1,"1":2,"2":3}
129 TypeError {"0":1,"1":2,"2":3}
130 TypeError {"0":1,"1":2,"2":3}
131 TypeError {"0":1,"1":2,"2":3}
132 TypeError {"0":1,"1":2,"2":3}
133 TypeError {"0":1,"1":2,"2":3}
134 TypeError {"0":1,"1":2,"2":3}
135 OK {"0":1,"1":2,"2":10}
136 OK {"0":1,"1":2,"2":10}
137 TypeError {"0":1,"1":2,"2":3}
138 OK {"0":1,"1":2,"2":10}
139 OK {"0":1,"1":2,"2":10}
140 TypeError {"0":1,"1":2,"2":3}
141 TypeError {"0":1,"1":2,"2":3}
142 TypeError {"0":1,"1":2,"2":3}
143 TypeError {"0":1,"1":2,"2":3}
144 OK {"0":1,"1":2,"2":10}
145 OK {"0":1,"1":2,"2":10}
146 TypeError {"0":1,"1":2,"2":3}
147 OK {"0":1,"1":2,"2":10}
148 OK {"0":1,"1":2,"2":10}
149 TypeError {"0":1,"1":2,"2":3}
150 TypeError {"0":1,"1":2,"2":3}
151 TypeError {"0":1,"1":2,"2":3}
152 TypeError {"0":1,"1":2,"2":3}
153 TypeError {"0":1,"1":2,"2":3}
154 TypeError {"0":1,"1":2,"2":3}
155 TypeError {"0":1,"1":2,"2":3}
156 TypeError {"0":1,"1":2,"2":3}
157 TypeError {"0":1,"1":2,"2":3}
158 TypeError {"0":1,"1":2,"2":3}
159 TypeError {"0":1,"1":2,"2":3}
160 TypeError {"0":1,"1":2,"2":3}
161 TypeError {"0":1,"1":2,"2":3}
162 OK {"0":1,"1":2,"2":232}
163 OK {"0":1,"1":2,"2":232}
164 TypeError {"0":1,"1":2,"2":3}
165 OK {"0":1,"1":2,"2":232}
166 OK {"0":1,"1":2,"2":232}
167 TypeError {"0":1,"1":2,"2":3}
168 TypeError {"0":1,"1":2,"2":3}
169 TypeError {"0":1,"1":2,"2":3}
170 TypeError {"0":1,"1":2,"2":3}
171 OK {"0":1,"1":2,"2":232}
172 OK {"0":1,"1":2,"2":232}
173 TypeError {"0":1,"1":2,"2":3}
174 OK {"0":1,"1":2,"2":232}
175 OK {"0":1,"1":2,"2":232}
176 TypeError {"0":1,"1":2,"2":3}
177 TypeError {"0":1,"1":2,"2":3}
178 TypeError {"0":1,"1":2,"2":3}
179 TypeError {"0":1,"1":2,"2":3}
180 TypeError {"0":1,"1":2,"2":3}
181 TypeError {"0":1,"1":2,"2":3}
182 TypeError {"0":1,"1":2,"2":3}
183 TypeError {"0":1,"1":2,"2":3}
184 TypeError {"0":1,"1":2,"2":3}
185 TypeError {"0":1,"1":2,"2":3}
186 TypeError {"0":1,"1":2,"2":3}
187 TypeError {"0":1,"1":2,"2":3}
188 TypeError {"0":1,"1":2,"2":3}
189 OK {"0":1,"1":2,"2":246}
190 OK {"0":1,"1":2,"2":246}
191 TypeError {"0":1,"1":2,"2":3}
192 OK {"0":1,"1":2,"2":246}
193 OK {"0":1,"1":2,"2":246}
194 TypeError {"0":1,"1":2,"2":3}
195 TypeError {"0":1,"1":2,"2":3}
196 TypeError {"0":1,"1":2,"2":3}
197 TypeError {"0":1,"1":2,"2":3}
198 OK {"0":1,"1":2,"2":246}
199 OK {"0":1,"1":2,"2":246}
200 TypeError {"0":1,"1":2,"2":3}
201 OK {"0":1,"1":2,"2":246}
202 OK {"0":1,"1":2,"2":246}
203 TypeError {"0":1,"1":2,"2":3}
204 TypeError {"0":1,"1":2,"2":3}
205 TypeError {"0":1,"1":2,"2":3}
206 TypeError {"0":1,"1":2,"2":3}
207 TypeError {"0":1,"1":2,"2":3}
208 TypeError {"0":1,"1":2,"2":3}
209 TypeError {"0":1,"1":2,"2":3}
210 TypeError {"0":1,"1":2,"2":3}
211 TypeError {"0":1,"1":2,"2":3}
212 TypeError {"0":1,"1":2,"2":3}
213 TypeError {"0":1,"1":2,"2":3}
214 TypeError {"0":1,"1":2,"2":3}
215 TypeError {"0":1,"1":2,"2":3}
216 TypeError {"0":1,"1":2,"2":3}
217 TypeError {"0":1,"1":2,"2":3}
218 TypeError {"0":1,"1":2,"2":3}
219 TypeError {"0":1,"1":2,"2":3}
220 TypeError {"0":1,"1":2,"2":3}
221 TypeError {"0":1,"1":2,"2":3}
222 TypeError {"0":1,"1":2,"2":3}
223 TypeError {"0":1,"1":2,"2":3}
224 TypeError {"0":1,"1":2,"2":3}
225 TypeError {"0":1,"1":2,"2":3}
226 TypeError {"0":1,"1":2,"2":3}
227 TypeError {"0":1,"1":2,"2":3}
228 TypeError {"0":1,"1":2,"2":3}
229 TypeError {"0":1,"1":2,"2":3}
230 TypeError {"0":1,"1":2,"2":3}
231 TypeError {"0":1,"1":2,"2":3}
232 TypeError {"0":1,"1":2,"2":3}
233 TypeError {"0":1,"1":2,"2":3}
234 TypeError {"0":1,"1":2,"2":3}
235 TypeError {"0":1,"1":2,"2":3}
236 TypeError {"0":1,"1":2,"2":3}
237 TypeError {"0":1,"1":2,"2":3}
238 TypeError {"0":1,"1":2,"2":3}
239 TypeError {"0":1,"1":2,"2":3}
240 TypeError {"0":1,"1":2,"2":3}
241 TypeError {"0":1,"1":2,"2":3}
242 TypeError {"0":1,"1":2,"2":3}
243 TypeError {"0":1,"1":2,"2":3}
244 TypeError {"0":1,"1":2,"2":3}
245 TypeError {"0":1,"1":2,"2":3}
246 TypeError {"0":1,"1":2,"2":3}
247 TypeError {"0":1,"1":2,"2":3}
248 TypeError {"0":1,"1":2,"2":3}
249 TypeError {"0":1,"1":2,"2":3}
250 TypeError {"0":1,"1":2,"2":3}
251 TypeError {"0":1,"1":2,"2":3}
252 TypeError {"0":1,"1":2,"2":3}
253 TypeError {"0":1,"1":2,"2":3}
254 TypeError {"0":1,"1":2,"2":3}
255 TypeError {"0":1,"1":2,"2":3}
256 TypeError {"0":1,"1":2,"2":3}
257 TypeError {"0":1,"1":2,"2":3}
258 TypeError {"0":1,"1":2,"2":3}
259 TypeError {"0":1,"1":2,"2":3}
260 TypeError {"0":1,"1":2,"2":3}
261 TypeError {"0":1,"1":2,"2":3}
262 TypeError {"0":1,"1":2,"2":3}
263 TypeError {"0":1,"1":2,"2":3}
264 TypeError {"0":1,"1":2,"2":3}
265 TypeError {"0":1,"1":2,"2":3}
266 TypeError {"0":1,"1":2,"2":3}
267 TypeError {"0":1,"1":2,"2":3}
268 TypeError {"0":1,"1":2,"2":3}
269 TypeError {"0":1,"1":2,"2":3}
270 TypeError {"0":1,"1":2,"2":3}
271 TypeError {"0":1,"1":2,"2":3}
272 TypeError {"0":1,"1":2,"2":3}
273 TypeError {"0":1,"1":2,"2":3}
274 TypeError {"0":1,"1":2,"2":3}
275 TypeError {"0":1,"1":2,"2":3}
276 TypeError {"0":1,"1":2,"2":3}
277 TypeError {"0":1,"1":2,"2":3}
278 TypeError {"0":1,"1":2,"2":3}
279 TypeError {"0":1,"1":2,"2":3}
280 TypeError {"0":1,"1":2,"2":3}
281 TypeError {"0":1,"1":2,"2":3}
282 TypeError {"0":1,"1":2,"2":3}
283 TypeError {"0":1,"1":2,"2":3}
284 TypeError {"0":1,"1":2,"2":3}
285 TypeError {"0":1,"1":2,"2":3}
286 TypeError {"0":1,"1":2,"2":3}
287 TypeError {"0":1,"1":2,"2":3}
288 TypeError {"0":1,"1":2,"2":3}
289 TypeError {"0":1,"1":2,"2":3}
290 TypeError {"0":1,"1":2,"2":3}
291 TypeError {"0":1,"1":2,"2":3}
292 TypeError {"0":1,"1":2,"2":3}
293 TypeError {"0":1,"1":2,"2":3}
294 TypeError {"0":1,"1":2,"2":3}
295 TypeError {"0":1,"1":2,"2":3}
296 TypeError {"0":1,"1":2,"2":3}
297 TypeError {"0":1,"1":2,"2":3}
298 TypeError {"0":1,"1":2,"2":3}
299 TypeError {"0":1,"1":2,"2":3}
300 TypeError {"0":1,"1":2,"2":3}
301 TypeError {"0":1,"1":2,"2":3}
302 TypeError {"0":1,"1":2,"2":3}
303 TypeError {"0":1,"1":2,"2":3}
304 TypeError {"0":1,"1":2,"2":3}
305 TypeError {"0":1,"1":2,"2":3}
306 TypeError {"0":1,"1":2,"2":3}
307 TypeError {"0":1,"1":2,"2":3}
308 TypeError {"0":1,"1":2,"2":3}
309 TypeError {"0":1,"1":2,"2":3}
310 TypeError {"0":1,"1":2,"2":3}
311 TypeError {"0":1,"1":2,"2":3}
312 TypeError {"0":1,"1":2,"2":3}
313 TypeError {"0":1,"1":2,"2":3}
314 TypeError {"0":1,"1":2,"2":3}
315 TypeError {"0":1,"1":2,"2":3}
316 TypeError {"0":1,"1":2,"2":3}
317 TypeError {"0":1,"1":2,"2":3}
318 TypeError {"0":1,"1":2,"2":3}
319 TypeError {"0":1,"1":2,"2":3}
320 TypeError {"0":1,"1":2,"2":3}
321 TypeError {"0":1,"1":2,"2":3}
322 TypeError {"0":1,"1":2,"2":3}
323 TypeError {"0":1,"1":2,"2":3}
===*/

function test() {
    var testIndex = -1;
    [ 0, '2', 4 ].forEach(function (idx) {
        [ void 0, 10, 1000, -10.5 ].forEach(function (val) {
            [ void 0, true, false ].forEach(function (writable) {
                [ void 0, true, false ].forEach(function (enumerable) {
                    [ void 0, true, false ].forEach(function (configurable) {
                        testIndex++;
                        var u8 = new Uint8Array([ 1, 2, 3 ]);
                        var desc = {};
                        if (typeof val !== 'undefined') {
                            desc.value = val;
                        }
                        if (typeof writable !== 'undefined') {
                            desc.writable = writable;
                        }
                        if (typeof enumerable !== 'undefined') {
                            desc.enumerable = enumerable;
                        }
                        if (typeof configurable !== 'undefined') {
                            desc.configurable = configurable;
                        }
                        //print(desc);
                        try {
                            Object.defineProperty(u8, idx, desc);
                            print(testIndex, 'OK', JSON.stringify(u8));
                        } catch (e) {
                            print(testIndex, e.name, JSON.stringify(u8));
                        }
                    });
                });
            });
        });
    });
}

test();
